<?php
namespace SummoIngenio\Sai\MatematicaBundle\Utility\Juego\P1;
use SummoIngenio\Sai\MatematicaBundle\Utility\Juego\JuegoBase;

class P10486 extends JuegoBase {

	//private $i;
	private $fila1;
	private $fila2;
	private $fila3;
	private $filaConDos;
	private $valorMostrableInicio;
	private $valorMostrable;

  function init() {
	//generar cuadro
	for( $i = 0; $i < 2; $i++ ){
		do{
			//generar fila
			$a = rand( 1, 17 );
			do{
				$b = rand( 1, 17 );
				$c = 20 - $a - $b;
			} while ( $c <= 0  );
			//armar cuadro
			if( $i == 0 ){
				$this->fila1 = array( $a, $b, $c );
			}{
				$this->fila2 = array( $a, $b, $c );
			}
		} while( $i == 1 && (
				20 <= $this->fila1[0] + $this->fila2[0] ||
				20 <= $this->fila1[1] + $this->fila2[1] ||
				20 <= $this->fila1[2] + $this->fila2[2]
			)
		);
	}
	$this->fila3 = array( 
		20 - $this->fila1[0] - $this->fila2[0],
		20 - $this->fila1[1] - $this->fila2[1],
		20 - $this->fila1[2] - $this->fila2[2]
	);
	//valores extra
	$this->filaConDos = rand( 0, 2 );
	$this->valorMostrableInicio = rand( 0, 1 );
	/*$this->valorMostrable = array(
		rand( 0 ,2 ),
		rand( 0 ,2 ),
		rand( 0 ,2 )
	);*/
	$this->valorMostrable[0] = rand( 0, 2 );
	$this->valorMostrable[1] = rand( 0, 2 );
	do{
		$this->valorMostrable[2] = rand( 0, 2 );
	}while( $this->valorMostrable[0] == $this->valorMostrable[1] &&
		$this->valorMostrable[0] == $this->valorMostrable[2] );
  }

  public function getPregunta() {
    return $this->render('P1/P10486/pregunta', array());
  }

  public function getHtmlDesactivado() {
    return $this->render('P1/P10486/desactivado', array(
													'fila1'=>$this->fila1,
													'fila2'=>$this->fila2,
													'fila3'=>$this->fila3,
													'filaConDos'=>$this->filaConDos,
													'valorMostrableInicio'=>$this->valorMostrableInicio,
													'valorMostrable'=>$this->valorMostrable
												));
  }

  public function getHtmlJugable() {
    return $this->render('P1/P10486/jugable', array(
													'fila1'=>$this->fila1,
													'fila2'=>$this->fila2,
													'fila3'=>$this->fila3,
													'filaConDos'=>$this->filaConDos,
													'valorMostrableInicio'=>$this->valorMostrableInicio,
													'valorMostrable'=>$this->valorMostrable
												));
  }

  public function getHtmlResuelto() {
    return $this->render('P1/P10486/resuelto', array(
													'fila1'=>$this->fila1,
													'fila2'=>$this->fila2,
													'fila3'=>$this->fila3,
													'filaConDos'=>$this->filaConDos,
													'valorMostrableInicio'=>$this->valorMostrableInicio,
													'valorMostrable'=>$this->valorMostrable
											   ));
  }

  public function verificarRespuesta($respuestaUsrio) {
	$aRetornar              = array();
	
	//verifica respuesta
	$errores = 0;
	
	$respuestaResultado = $respuestaUsrio->get("respuesta1");
    $respuesta = $this->fila1[0];	//respuesta1
	if( $respuestaResultado != $respuesta ){
		$errores++;
	}
	
	$respuestaResultado = $respuestaUsrio->get("respuesta2");
    $respuesta = $this->fila1[1];	//respuesta2
	if( $respuestaResultado != $respuesta ){
		$errores++;
	}
	
	$respuestaResultado = $respuestaUsrio->get("respuesta3");
    $respuesta = $this->fila1[2];	//respuesta3
	if( $respuestaResultado != $respuesta ){
		$errores++;
	}
	
	$respuestaResultado = $respuestaUsrio->get("respuesta4");
    $respuesta = $this->fila2[0];	//respuesta4
	if( $respuestaResultado != $respuesta ){
		$errores++;
	}
	
	$respuestaResultado = $respuestaUsrio->get("respuesta5");
    $respuesta = $this->fila2[1];	//respuesta5
	if( $respuestaResultado != $respuesta ){
		$errores++;
	}
	
	$respuestaResultado = $respuestaUsrio->get("respuesta6");
    $respuesta = $this->fila2[2];	//respuesta6
	if( $respuestaResultado != $respuesta ){
		$errores++;
	}
	
	$respuestaResultado = $respuestaUsrio->get("respuesta7");
    $respuesta = $this->fila3[0];	//respuesta7
	if( $respuestaResultado != $respuesta ){
		$errores++;
	}
	
	$respuestaResultado = $respuestaUsrio->get("respuesta8");
    $respuesta = $this->fila3[1];	//respuesta8
	if( $respuestaResultado != $respuesta ){
		$errores++;
	}
	
	$respuestaResultado = $respuestaUsrio->get("respuesta9");
    $respuesta = $this->fila3[2];	//respuesta9
	if( $respuestaResultado != $respuesta ){
		$errores++;
	}

	$aRetornar['respuesta'] = "{$this->fila1[0]},{$this->fila1[1]},{$this->fila1[2]},{$this->fila2[0]},{$this->fila2[1]},{$this->fila2[2]},{$this->fila3[0]},{$this->fila3[1]},{$this->fila3[2]}";
    if ( $errores == 0 ) {
      $aRetornar['correcta']  = true;
    } else {
      $aRetornar['correcta'] = false;
    }
    return $aRetornar;
  }

  public function getJavascript() {
    $aRetornar = array(
      "tipo"      => "archivo",
      "contenido" => "P1/P10486.js"
    );
    return $aRetornar;
  }

  public function getCss() {
    $aRetornar = array(
      "tipo"      => "archivo",
      "contenido" => "P1/P10486.css"
    );
    return $aRetornar;
  }

  public function __sleep() {
    return array(
		'fila1',
		'fila2',
		'fila3',
		'filaConDos',
		'valorMostrableInicio',
		'valorMostrable'
	);
  }
}